package com.eorchis.module.dataSynchronization.service;

import java.util.List;

import com.eorchis.core.service.IBaseService;
import com.eorchis.module.dataSynchronization.bean.ClassScopeDept;
import com.eorchis.module.dataSynchronization.bean.ClassSignUpDept;
import com.eorchis.module.dataSynchronization.bean.Department;
import com.eorchis.module.dataSynchronization.bean.DepartmentUser;
import com.eorchis.module.dataSynchronization.bean.TrainingClass;
import com.eorchis.module.dataSynchronization.bean.TrainingClassUser;
import com.eorchis.module.dataSynchronization.bean.User;
import com.eorchis.module.dataSynchronization.bean.UserClassTypeHour;

public interface ISynchroService extends IBaseService {

	public void addDepartment(Department dept);

	public void updateDepartment(Department dept);

	public int addUser(User user);

	public int updateUser(User user);

	public String[] getApplicationKey(String code);

	public boolean judgeUser(String... strings);

	public String getDepartmentId(String... strings);

	public boolean judgeDepartment(String... strings);

	public boolean judgeDepartmentUser(String... strings);

	public void updateDepartmentUser(DepartmentUser deptUser);

	public void addDepartmentUser(DepartmentUser deptUser);

	public List<User> findUserList(Integer daysBefore);

	public List<TrainingClassUser> findTrainingClassUserList(Integer daysBefore);

	public List<TrainingClass> findTrainingClassList(Integer daysBefore);

	public List<ClassScopeDept> findClassScopeDeptList(String[] classIds);

	public List<ClassSignUpDept> findClassSignUpDeptList(String[] classIds);

	Department findDepartment(Department d);

	DepartmentUser findDepartmentUser(DepartmentUser d);

	UserClassTypeHour findUserClassTypeHour(UserClassTypeHour u);

	TrainingClassUser findTrainingClassUser(TrainingClassUser t);

	TrainingClass findTrainingClass(TrainingClass t);

	public boolean judgeTrainingClass(String... strings);

	public void addTrainingClass(TrainingClass trainingClass);

	public void updateTrainingClass(TrainingClass trainingClass);

	public boolean judgeTrainingClassUser(String... strings);

	public void addTrainingClassUser(TrainingClassUser trainingClassUser);

	public void updateTrainingClassUser(TrainingClassUser trainingClassUser);

	public boolean judgeUserClassTypeHour(String... strings);

	public void addUserClassTypeHour(UserClassTypeHour userClassTypeHour);

	public void updateUserClassTypeHour(UserClassTypeHour userClassTypeHour);

	public List<String> findAnnulUserIds();

	public void deleteAnnulUserByIds(List<String> annulUserIds);
}
